package HLLib.social;

import HLCode.HLClass;
import HLCode.HLClassManager;
import HLCode.HLClassManager_H;
import HLCode.HLLibObject;
import HLLib.base.HLICallback;
import HLLib.base.HLList;
import HLLib.base.HLString;

public class HLGameCenter extends HLLibObject implements HLICallback {
    public HLClass GetClass(HLClassManager classManager) {
        return classManager.GetLibClass(HLClassManager_H.CLASS_GROUP_TYPE_LIB_SOCIAL, HLClassManager_H.LIB_CLASS_SOCIAL_GameCenter);
    }

    public static boolean Login() {
        HL3rdPartyPlayer p = new HL3rdPartyPlayer();

        curRun.CallbackSuccess(CALLBACK_GAMECENTER_LOGIN_SUCCESS, p);
        return true;
    }

    public static void GetFriendsInfoGameCenter() {
        HLList list = new HLList();
        curRun.CallbackSuccess(CALLBACK_GAMECENTER_GET_FRIENDS_SUCCESS, list);
    }

    public static void ShowLeadboard() {
    }

    public static void ReportScore(HLString cateory, int score) {
        curRun.CallbackSuccess(CALLBACK_GAMECENTER_REPORT_SCORE_SUCCESS, null);
    }

    public static void ShowAchievements() {
    }

    public static void ReportAchievement(HLString identifier, int percentComplete) {
        curRun.CallbackSuccess(CALLBACK_GAMECENTER_REPORT_ACHIEVEMENT_SUCCESS, null);
    }

    public static void ResetAchievements() {
        curRun.CallbackSuccess(CALLBACK_GAMECENTER_RESET_ACHIEVEMENTS_SUCCESS, null);
    }

    public static void LoadAchievements() {
        HLList list = new HLList();
        
        curRun.CallbackSuccess(CALLBACK_GAMECENTER_LOAD_ACHIEVEMENTS_SUCCESS, list);
    }

}
